Hoofdstuk 2.1 Hoofdstuk 2.2 Hoofdstuk 2.3 Hoofdstuk 2.4 Hoofdstuk 2.5 Hoofdstuk 2.6 Hoofdstuk 3.1 Hoofdstuk 3.2 Hoofdstuk 3.3 Hoofdstuk 3.4 Hoofdstuk 3.5
1 - | Uitgewerkt voorbeeld: bestellen |
2 - | Nadere analyse van het inkoopproces |
3 - | Entiteittypen |
4 - | Relatietypen en cardinaliteiten |
5 - | Attribuuttypen en tekstuele beschrijving |
1 - Uitgewerkt voorbeeld: bestellen ![]() ![]() ![]() |
© Instruct |
![]() |
Omdat ERM zich het beste laat begrijpen als de theorie wordt toegepast, geven we hier een uitgewerkt voorbeeld. Het gaat over een service-centrum van een scholengemeenschap, dat onder meer kantoorartikelen en syllabi verkoopt. Het voorbeeld gaat over het proces Bestellen. Dit proces is in het volgende Data Flow Diagram schematisch afgebeeld.
|
2 - Nadere analyse van het inkoopproces ![]() ![]() ![]() |
© Instruct |
Elk product krijgt een unieke productcode. Vastgelegd worden:
Een bestelling wordt genoteerd op een bestelformulier (papier of online) van de beheerder van het service-centrum. Dit bestelformulier bevat:
|
3 - Entiteittypen ![]() ![]() ![]() |
© Instruct |
De eerste stap in het opzetten van een Entity Relationship Diagram is het bepalen van entiteittypen. Uit de beschrijving en het DFD komen al twee entiteittypen duidelijk naar voren:
Er loopt nog een gegevensstroom (het bestelformulier) van het proces ‘bestel producten’ naar de bestemming ‘leverancier’. We gaan dat bestelformulier nader analyseren.
Op het bestelformulier is het volgende te zien:
Twee soorten gegevens
Dit brengt het aantal entiteittypen op vier:
|
4 - Relatietypen en cardinaliteiten ![]() ![]() ![]() |
© Instruct |
5 - Attribuuttypen en tekstuele beschrijving ![]() ![]() ![]() |
© Instruct |
De attribuuttypen worden opgesomd in de tekstuele beschrijving. Er zijn vier entiteittypen vastgesteld:
Het valt op dat enkele attribuuttypen twee keer voorkomen, iets wat we in een database beslist moeten vermijden. Het gaat hier om de attribuuttypen die voorkomen in de entiteittypen Bestelling en Bestelregel. In het entiteittype Bestelling zijn dit de attribuuttypen:
De waarden van de attribuuttypen naam, adres, postcode en woonplaats kunnen veranderen, bijvoorbeeld als de leverancier verhuist of als deze een andere naam kiest. Veranderen deze gegevens, dan zou de wijziging op ten minste twee plaatsen in de database moeten worden aangebracht: één maal in de entiteit van het entiteittype Leverancier, één of meer keren in entiteiten van het entiteittype Bestelling. Dit laatste is afhankelijk van het aantal bestellingen dat geplaatst is bij de betreffende leverancier. Om dit te voorkomen laten we de attribuuttypen naam, adres, postcode en woonplaats weg uit het entiteittype Bestelling. Het attribuuttype Leveranciercode mag ook weg omdat via het relatietype ‘ontvangt’ duidelijk is bij welke leverancier de bestelling geplaatst is. Het entiteittype Bestelregel omvat ook een aantal attribuuttypen die al beschreven zijn bij het entiteittype Product. Dat zijn:
Identificatie Het blijkt nu dat het entiteittype Bestelregel bestaansafhankelijk is van zowel het entiteittype Bestelling als het entiteittype Product. De identificatie van het entiteittype Bestelling moet dan ook de combinatie van Bestelnummer en Productcode zijn.
Tekstuele beschrijving
|